1. Field of the Invention
The present invention relates generally to sessions, and more particularly, to systems and methods for harvesting expired sessions.
2. Description of Related Art
Conventional network devices, such as, for example, routers or Ethernet switches, typically handle data units, such as, for example, packets, associated with multiple sessions over any given interval of time, where an individual session may represent, for example, a single stream of data units between a source and destination in a network. Upon receipt of an initial data unit of a session, the network devices allocate resources for handling the session. Because network devices have finite resources, the capability of the network device to handle subsequent sessions is limited due to resource constraints. Therefore, the sooner a network device can “harvest” a session (i.e., reclaim resources allocated to the session), the sooner additional sessions can be handled by the network device.
Conventionally, many techniques have been implemented for harvesting expired sessions. One common technique involves maintaining a single time stamp associated with each session. Each data unit arriving for an existing session updates the time stamp for that session. A background process may sweep through the time stamps periodically and harvest any that have not been updated within a specified amount of time. This technique, however, requires numerous memory accesses for updating and checking the time stamps associated with each session. Such memory accesses can be expensive in terms of updating and checking the time stamps, requiring additional memory and memory bandwidth.
Therefore, there exists a need for systems and methods that can reduce the memory accesses that are associated with a session aging process in a network device.